package com.ctvit.sjk.knowledge.document.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ctvit.sjk.knowledge.dataset.pojo.domain.TabDataset;
import com.ctvit.sjk.knowledge.document.pojo.domain.TabDocument;
import com.ctvit.sjk.knowledge.document.pojo.dto.DocumentBatchCreateDTO;
import com.ctvit.sjk.knowledge.document.pojo.dto.DocumentBatchDeleteDTO;
import com.ctvit.sjk.knowledge.document.pojo.dto.DocumentBatchRefreshDTO;
import com.ctvit.sjk.knowledge.document.pojo.dto.DocumentCancelTaskDTO;
import com.ctvit.sjk.knowledge.document.pojo.vo.DocumentGetVO;
import com.ctvit.sjk.knowledge.document.pojo.dto.DocumentQueryDTO;
import com.ctvit.sjk.knowledge.document.pojo.dto.DocumentRefreshDTO;

import java.util.List;

/**
 * 文档Service接口
 *
 * @author heyingcheng
 * @date 2025/3/22
 */
public interface ITabDocumentService extends IService<TabDocument> {

    List<DocumentGetVO> batchCreate(TabDataset tabDataset, List<DocumentBatchCreateDTO> dtoList, String userId);

    List<DocumentGetVO> list(String datasetId, DocumentQueryDTO dto);

    boolean refresh(String datasetId, String documentId, DocumentRefreshDTO dto, String userId);

    boolean cancelTask(String datasetId, String documentId, DocumentCancelTaskDTO dto, String userId);

    boolean batchRefresh(String datasetId, DocumentBatchRefreshDTO dto, String userId);

    boolean batchDelete(String datasetId, DocumentBatchDeleteDTO dto, String userId);

}
